As software applications become larger and more data intensive, disk-drive manufacturers are increasing the data-storage capacities of data-storage disks by increasing the disks' data-storage densities (bits/inch). This increase in storage density typically increases the frequency of the read signal from the read-write head of the disk drive that incorporates such a disk.
Unfortunately, as discussed in more detail below in conjunction with FIGS. 1–5, increasing the density of the servo data, and thus increasing the frequency of the servo signal, may cause a disk drive's head-position circuit to improperly position the read-write head over a selected data track. A servo circuit typically heavily over samples or uses fewer synchronized samples of the servo signal to calculate the amplitudes of read-write head position bursts that are stored on the disk. Using these burst amplitudes, the disk drive calculates a head-position error signal, which the head-position circuit uses to position the head over the selected data track. But if the frequency of the servo signal is too high, the servo circuit may be unable to generate enough samples for over sampling or maintain synchronization between the sample clock and the servo burst, and thus may calculate inaccurate values for the burst amplitudes. Consequently, these inaccurate values may cause the disk drive to calculate an erroneous value for the head-position error signal, and thus may cause the head-position circuit to improperly position the head over the selected data track.
FIG. 1 is a plan view of a conventional disk drive 10, which includes a magnetic data-storage disk 12, a read-write head 14, an arm 16, and a voice-coil motor 18. The disk 12 is partitioned into a number—here eight—of disk sectors 20a–20h, and includes a number—typically in the tens or hundreds of thousands—of concentric data tracks 22a–22n. Readable-writable application data is stored in respective data sectors (not shown) within each track 22. Under the control of the disk drive's head-position circuit (not shown in FIG. 1), the motor 18 moves the arm 16 to center the head 14 over a selected track 22.
Referring to FIG. 2, conventional data servo wedges 24—only servo wedges 24a–24c are shown for clarity—include servo data that allows the head-position circuit (not shown in FIG. 2) of the disk drive 10 (FIG. 1) to accurately position the read-write head 14 (FIG. 1) during a data read or write operation. The servo wedges 24 are located within each track 22 at the beginning—the disk 12 spins counterclockwise in this example—of each disk sector 20. Each servo wedge 24 includes respective servo data that indentifies the location (track 22 and sector 20) of the servo wedge. Thus, the head-position circuit uses this servo data to position the head 14 over the track 22 selected to be read from or written to. The manufacturer of the disk drive 10 typically writes the servo wedges 24 onto the disk 12 before shipping the disk drive to a customer; neither the disk drive nor the customer alters the servo wedges 24 thereafter. Servo wedges like the servo wedges 24 are further discussed below in conjunction with FIG. 3 and in commonly owned U.S. patent application Ser. No. 09/783,801, filed Feb. 14, 2001, entitled “VITERBI DETECTOR AND METHOD FOR RECOVERING A BINARY SEQUENCE FROM A READ SIGNAL,” which is incorporated by reference.
FIG. 3 is a diagram of the servo wedge 24a of FIG. 2, the other servo wedges 24 being similar. Write splices 30a and 30b respectively separate the servo wedge 24a from adjacent data sectors (not shown). An optional servo address mark (SAM) 32 indicates to the head-position circuit (not shown in FIG. 3) that the read-write head 14 (FIG. 1) is at the beginning of the servo wedge 24a. A servo preamble 34 allows the servo circuit (not shown in FIG. 3) of the disk drive 10 (FIG. 1) to synchronize the sample clock to the servo signal (FIG. 5), and a servo synchronization mark (SSM) 36 identifies the beginning of a head-location identifier 38. Once the beginning of the identifier 38 is identified, a disk-drive controller (FIG. 9) can determine the beginnings of head-position bursts A–N by counting cycles of the sample clock. The preamble 34 and SSM 36 are discussed in commonly owned U.S. patent application Ser. Nos. 60/301,505 entitled “DATA-STORAGE DISK HAVING FEW OR NO SPIN-UP WEDGES AND METHOD FOR WRITING SERVO WEDGES ONTO THE DISK,” 60/301,504 entitled “CIRCUIT AND METHOD FOR DETECTING A SERVO WEDGE ON SPIN UP OF A DATA-STORAGE DISK”, 60/301,469 entitled “CIRCUIT AND METHOD FOR DETECTING A SPIN-UP WEDGE AND A CORRESPONDING SERVO WEDGE ON SPIN UP OF A DATA-STORAGE DISK”, 60/301,503 entitled “SERVO CIRCUIT HAVING A SYNCHRONOUS SERVO CHANNEL AND METHOD FOR SYNCHRONOUSLY RECOVERING SERVO DATA”, which are incorporated by reference. The location identifier 38 allows the head-position circuit to coarsely determine and adjust the position of the head 14 with respect to the surface of the disk 12 (FIG. 1). More specifically, the location identifier 38 includes a sector identifier 40 and a track identifier 42, which respectively identify the disk sector 20 and the data track 22—here the sector 20a and the track 22a—that contain the servo wedge 24a. Because the head 14 may read the location identifier 38 even if the head is not centered over the track 24a, the servo wedge 24a also includes the head-position bursts A–N, which allow the head-position circuit to finely determine and adjust the position of the head 14 as discussed below in conjunction with FIGS. 4 and 5.
FIG. 4 is a close-up view of a portion 48 of the disk 10 (FIG. 1), the portion 48 including four sections 50A–50D of head-position bursts A–D, respectively. More specifically, the portion 48 includes adjacent tracks 22n–22n+7, the illustrated portions of which include the servo wedges 24 (FIG. 3), burst sections 50A–50D, and write splices 30 and/or application data. Each of the bursts in sections 50A–50D is two tracks wide in a radial direction and is staggered with respect to the tracks 22 such that the boundaries 52 and 54 between adjacent bursts in the same section are aligned with the centers of respective tracks 22. For example, the boundary 52i+1 between adjacent bursts Aj and Aj+1 and Bj and Bj+1, is aligned with the center of the track 22n+2. Furthermore, the bursts in each section 50A–50D alternate between a logic 1 (represented by an “X”) value and a logic 0 (represented by a blank, i.e., the absence of an “X”) value, and the values of the bursts in sections 50A and 50C are opposite to the values of the adjacent bursts in sections 50B and 50D, respectively. For example, bursts Aj, Aj+1, and Aj+2 in section A have alternating values 0, 1, 0, respectively, and adjacent bursts Aj+1 and Bj+1 have opposite values logic 1 and logic 0, respectively. In one example, logic 1 represents a nonzero voltage level, and logic 0 represents a zero voltage level.
In operation, the head-position circuit (not shown in FIG. 4) uses the relative magnitudes of diagonally adjacent bursts in sections 50A and 50B or in sections 50C and 50D to center the head 14 (FIG. 1) over a desired track. For example, assume that the head-position circuit is to center the head 14 over the track 22n+2. First using a conventional technique omitted here for clarity, the head-position circuit coarsely positions the head 14 over or near the track 22n+2 and reads the track identifier 42 (FIG. 3) that the head 14 is over. If the read track identifer belongs to the track 22n+2, then the head-position circuit determines that the head 14 is close enough to the track 22n+2 to proceed with the fine positioning of the head. Because the boundary 52i+1 is aligned with the center of the track 22n+2, to center the head 14 the disk drive 10 (FIG. 1) reads and compares the magnitudes of the diagonally adjacent bursts Aj+1 and Bj and calculates a position-error signal proportional to the difference between the magnitudes of Aj+1 and Bj. The head-position circuit uses this error signal to move the head 14 toward, and ideally over, the center of the track 22n+2.
More specifically, the disk drive 10 (FIG. 1) and the head-position circuit (not shown in FIG. 4) operate according to Table I to center the head 14 (FIG. 1) over the track 22n+2, where Mag A equals the read-voltage level, i.e., magnitude, of Aj+1, and Mag B equals the read-voltage level, i.e., magnitude, of Bj (Aj and Bj+1, which are logic 0, have zero voltage levels in this example):
TABLE IFirstMag A > Mag BTo center the head over track 22n + 2 ifScenariothe head 14 is not centered over the track22n+2 and is closer to the track 22n+3, thehead-position circuit needs to moves thehead 14 toward/to the center of the track22n+2 in a direction toward the center(bottom of FIG. 4) of the disk 10.SecondMag A = Mag BThe head 14 is centered over the trackScenario22n+2. Therefore, the head-position circuitdoes not need to move the head 14 fortrack 22n + 2 centering . . . ThirdMag A < Mag BThe head 14 is not centered over the trackScenario22n+2, and is closer to the track 22n+1.Therefore, the head-position circuit movesthe head 14 toward/to the center of thetrack 22n+2 in a direction toward the centerof the disk 10.
To illustrate the first scenario, assume that after coarse positioning, the head 14 is over the track 22n+3 at a position R, which is a radial distance +Dr from the center M of the track 22n+2—the center M is aligned with the boundary 52i+1. When the disk 10 (FIG. 1) rotates such that the head 14 is aligned with the burst section 50A, the burst Aj+1 is directly beneath the head such that the servo-signal voltage level, Mag A, has a maximum value. Conversely, when the disk 10 rotates such that the head 14 is aligned with the burst section 50B, the head is radially spaced +Dr from the boundary 52i+1, and thus from the burst Bj, such that the servo-signal voltage level, Mag B, has a nonmaximum value that is less than Mag A. Because Mag A>Mag B, the disk drive 10 “knows” the direction of the head-position error, i.e., that the head 14 is closer to the track 22n+3 than to the track 22n+1. Furthermore, |Mag A−Mag B| is proportional to the distance Dr between the head 14 and the center of the track 22n+2. Therefore, Mag A and Mag B together provide the disk drive 10 with the magnitude and direction of the head-position error, and the disk drive uses this vector to generate a position-error signal. In response to the position-error signal, the head-position circuit (not shown in FIG. 4) causes the motor 18 (FIG. 1) to reduce the head-position error by moving the head 14 from the position R toward/to the center M of the track 22n+2.
To illustrate the second scenario, assume that after coarse positioning, the head 14 is over the center M of the track 22n+2. When the head 14 is over the burst sections 50A and 50B, it is aligned with the boundary 52i+1. Because the boundary 52i+1 is equidistant from the bursts Aj+1 and Bj in a radial direction, Mag A=Mag B. Because Mag A=Mag B, the disk drive 10 “knows” that the head 14 is centered over the track 22n+2, and thus “knows” that no position correction is necessary. This follows from |Mag A−Mag B|=0, which indicates that the error distance is zero.
To illustrate the third scenario, assume that after coarse positioning, the head 14 is over the track 22n+1 at a position Q, which is a radial distance −Dq from the center M of the track 22n+2—“−” indicates that Dq and Dr are in opposite directions from M. Therefore, because Mag B>Mag A, the disk drive 10 “knows” that the head 14 is closer to the track 22n+1 than to the track 22n+3, and thus generates a corresponding position-error signal. In response to this position-error signal, the head-position circuit causes the motor 18 to move the head 14 from Q toward/to the center M of the track 22n+2.
Although the servo-wedge portions (to the left of the bursts 50A–50D) of the tracks 22 are shown as having the same widths as the corresponding data-sector portions (to the right of the bursts 50A–50D) portions, these portions may have different widths. Where the widths are different, the boundaries 52 and 54 are aligned with the centers of the data-sector portions to accurately read the application data.
FIG. 5 is a plot of a sinusoidal servo signal that the head 14 (FIG. 1) generates while reading a head-position burst, and a sample clock that is not synchronized to the burst sinusoid.
According to one conventional technique, the servo circuit (not shown in FIG. 5) synchronizes the sample clock to the servo signal as the head 14 reads the preamble 34 (FIG. 3). Typically, this preamble servo signal (not shown) is a sinusoid similar or identical to the burst sinusoid, and the servo circuit aligns the edges of the sample clock to the peaks and zero crossings of the preamble sinusoid. For example, the servo circuit may align the rising edges of the servo clock with the peaks and the falling edges with the zero crossings. Unfortunately, by the time that the head 14 is over the position-burst sections 50A–50D (FIG. 4), phenomena such as noise and disk jitter may cause the edges of the sample clock to become offset from the peaks and zero crossings of the burst sinusoid. For example the rising and falling edges of the sample clock may respectively lead the peaks and zero crossings of the burst sinusoid by a nonzero angle α, where it is desired that α equal zero.
Unfortunately, the lack of synchronization between the sample clock and the burst sinusoid may cause the head-position circuit (not shown in FIG. 5) to improperly position the head 14 over the selected track 22 (FIG. 4) during the fine positioning of the head. Typically, the peak voltage level Y of the burst sinusoid is the magnitude (e.g., Mag A or Mag B of FIG. 4) of the postion burst. In FIG. 4 for example, |Y|>0 represents a logic 1 (represented by an “X”) and Y=0 (DC signal) represents a logic 0 (represented by the absence of “X”). Furthermore, the accuracy of the algorithm that the disk drive 10 (FIG. 1) uses to demodulate, ie., calculate the magnitudes of, the position bursts is often proportional to the level of synchronization between the sample clock and the burst sinusoid. For example, assuming perfect synchronization, the samples 60 taken at the rising edges of the sample clock are of the burst-sinusoid peaks, and thus equal Y. Therefore, a simple algorithm averages a number of the samples 60 to filter out noise and calculates the burst magnitude equal to this average. But if the clock and burst sinusoid are imperfectly aligned as shown, then, ignoring noise and jitter, this algorithm yields an incorrect burst magnitude Y cos α instead of the correct burst magnitude Y. This incorrect burst magnitude may cause the disk drive 10 to calculate an inacccurate position-error signal, which may cause the motor 18 (FIG. 1) to move the head 14 to an undesired position.
Still referring to FIG. 5, according to another conventional technique, one can overcome the above-described lack of synchronization by heavily oversampling the burst sinusoid. To oversample, one increases the frequency of the sample clock with respect to the burst sinusoid. But because there are often contraints on the speed of the sample clock, one typically reduces the frequency of the burst sinusoid by lengthening the bursts 50A–50D (FIG. 4). To obtain accurate estimation of the burst amplitude Y, it is generally accepted that the sample clock must generate at least ten samples per cycle of the burst sinusoid, and thus must have a frequency at least five times that of the burst sinusoid. Comparitively, for the above-described synchronous technique, the sample clock generates four samples 60 and 62 per cycle and has a frequency that is twice that of the burst sinusoid as shown in FIG. 5.
Unfortunately, although heavily oversampling allows one to calculate the burst amplitude Y with an unsynchronized sampling clock, it typically requires more disk space due to the above-described lengthening of the position bursts 50A–50D (FIG. 4).